1. Field of the Invention
The present invention relates to transformation of a color image from one color space to another, and more particularly to an efficient algorithm for performing the transformation of color of known composition in terms of the intensities of video red, green and blue phosphors into the necessary densities of cyan, magenta, yellow and black inks, as deposited by a display device, to yield a visual match between the color so produced on hardcopy and the video color.
2. Description of the Prior Art
There are situations where a hardcopy of a color video display should match that display in color. Two examples are renderings of digitized photographs and proofing copies for a graphic artist's work station, and it is considered by people working in hardcopy technology that a color match is desirable generally.
The defining data can have a number of different forms. Images taken from photographic sources exist as values in RGB (red-green-blue), based upon a set of color separation filters which may or may not be clearly defined. Images generated originally on a graphics display exist as values in the RGB drive intensities for the set of phosphors, such as a NTSC standard phosphor set, used in creating them, the parameters of which set may or may not be known. Images generated by a computer are based on an arbitrary set of RGB definitions which may or may not be known. Thus no single set of primaries can be defined for all the needed transformations.
For a video display, color is produced by adding light from the various phosphors, while for a hardcopy device, color is produced by subtracting light via the inks used. The result is that, for example, the display red is not the same as the hardcopy red. In FIG. 1 the particular gamuts of a particular video display (phosphor set) and a particular ink and paper system are shown. The diagram shows that there are large areas of union between the two gamuts, but there are also non-neglible areas of disunion. If a color from the video gamut is not within the hardcopy gamut, i.e., unreachable, it has to be represented by a color that is within the hardcopy gamut. All unreachable colors may be collapsed to the closest reachable color, which throws away discriminability; the video gamut may be limited so no color is specified that cannot be matched, which is probably unacceptable; the larger gamut may be compressed into the smaller one through some sort of scaled mapping, which discards the possibility of a match entirely; or some reachable color may be substituted for any unreachable one, while endeavoring to match all reachable ones as accurately as possible. What is desired is a way to implement the latter choice by reducing the lightness, i.e., the normalized brightness, partly down to a point at which the chroma can be reached, and then reducing the chroma until the lowered lightness can be reached.
However, even if the primary colors are matched, the whites are not. The video white is normally very different in chromaticity from a white copy sheet viewed under usual room lighting. In terms of correlated color temperature the video white is likely to lie between 6500 and 9500 degrees Kelvin, while that of the sheet is easily under 4000 degrees Kelvin. In visual terms, the video white is quite blue relative to the white of the sheet. It is not desirable to have the white areas of an image rendered as a robin's-egg blue in the copy.
There is a phenomenon that has relevance to the above problem: if a person looks at a colored picture under bright, indirect sunlight, and then at the same picture under only incandescent lighting, the correlated color temperature change in the light sources is from 6500 degrees Kelvin down to 2600 degrees Kelvin. The white areas in the picture do not look robin's-egg blue outdoors, nor do they look canary yellow indoors, although that is approximately the magnitude of the colorimetric change in those areas for the two conditions. This phenomenon is akin to color constancy, i.e., over a broad range a person continuously redefines white as some kind of average over all areas in view.
What is desired is a method for weighting the intensities of the phosphor primaries so that when combined in even levels, and evaluated with color matching functions, they yield the chromaticity coordinates of the neutrals to which they are to be matched, rather than the actual coordinates of the video white.
With respect to the hardcopy device, present ink-jets do not afford control of dot size. Thus half-toning, used to produce color in the printing industry, cannot be done with ink-jets. Fractional areas coverage, for a particular ink, is only achieved by defining some number of addressable points, normally a square array, and then determining at how many of them to place a dot. This is done by developing a square array of numbers with the same number, N, of elements per side as the array of addressable points to be used. The array of numbers contains every number from 0 to (N**2)-1, and the numbers are positioned in the array so that as the pattern is filled the dots on paper are as uniformly distributed as possible.
A fixed relationship is established between the numeric array and addressable points. At each addressable point the fractional area coverage desired is obtained for each ink, the value is multiplied by N**2, the product is rounded, and the result is added to the array number corresponding to the particular addressable point. If the sum is greater than (N**2)-1, a dot is printed at that point, otherwise not. This results in optimum shading of the paper, in preservation of the maximum contrast edges at the full resolution of the system, and in correct location and continuity of the lower contrast edges though with increasing loss of acutance as contrast is lower. When placement has been determined for the ink dots, the resulting color is calculated by a method analogous to that used for the phosphor outputs. The contributions for each surface color are weighted by the fractional area it covers since there is no variation in intensity. However, the ink dots cover more than the addressable points, and therefore there is more color than desired. This implies that a correction for oversized dots must be performed to get a good color match.